import { OrgApi } from '@/api'
import CommonModel from './common'

class OrgModel extends CommonModel {
    constructor() {
        super()
        this.api = new OrgApi()
    }

    // 获取所有机构
    getListAll() {
        return this.api.getListAll()
    }

    getAllUser() {
        return this.api.getAllUser()
    }

    detail(id, page = {}) {
        // 个别详情带分页功能
        const data = { id, ...page }
        return this.api.detail(data)
    }

    // 负责人添加和删除，不单独建文件直接放这里单独写
    saveOrUpdatePrincipal(data) {
        return this.api.saveOrUpdatePrincipal(data)
    }

    // 机构下人员添加
    addOrgUser(data) {
        return this.api.addOrgUser(data)
    }

    // 机构下人员删除
    deleteOrgUser(data) {
        return this.api.deleteOrgUser(data)
    }

    // 当前登录用户所在部门用户列表
    getUserByOrg(data) {
        return this.api.getUserByOrg(data)
    }

    // 根据当前用户查询上级部门用户
    getSuperLevelUser(data) {
        return this.api.getSuperLevelUser(data)
    }

    // 修改道路、桥梁、隧道配置的管养机构
    saveOrgByBase(data) {
        return this.api.saveOrgByBase(data)
    }

    // 查询道路、桥梁、隧道配置的管养机构
    getOrgByBase(data, filter) {
        return this.api.getOrgByBase(data).then(res => {
            if (filter) {
                const result = this.transformNull(res)
                return result
            }
            return res
        })
    }
}

export default OrgModel
